1. Field of the Invention
The present invention relates to apparatus and methods for displaying and manipulating information on a computer system, and more particularly, the present invention relates to a computer controlled display system and methods employed on the display system for a user to move or copy an object from one display window to another, either within or between applications.
2. Art Background
Today, many computer systems utilize one of a variety of direct manipulation graphical user interfaces in which many previously coded programming commands are replaced by graphic images, or icons, on a computer display. These graphic images, or icons, symbolically represent a variety of objects or operations the computer system will execute if the graphic images, or icons, are chosen. A user interacts with the computer by choosing and manipulating these graphic images, or icons.
Additionally, many graphical user interfaces utilize multiple windows displayed on the computer display for the applications to convey information to a user. The information is presented in a combination of text and graphics in these windows. Each window may take the form of a variety of objects such as a file folder, loose-leaf binder, or simple rectangle, and the windows may overlap one another with the "top" window fully visible and constituting the current "work file". The user may delete information from a window, move data from one window to another, and generally operate on the window as if an actual file in an office is being used. Thus, the user is permitted to operate on and manipulate the window contents, and the window itself, as if the image constituted an actual object.
For further description of graphical user interfaces, see, D. Robson, "Object Oriented Software System", BYTE, August 1981, p. 74, Vol. 6, No. 8; and L. Tesler, "The Small Talk Environment", BYTE, August 1981, p. 90, Vol. 6, No. 8. See also, U.S. Pat. No. Re. 32,632, reissued Mar. 29, 1988, and assigned to Apple Computer, Inc.; and U.S. patent application Ser. No. 07/323,774, filed Mar. 15, 1989 and its corresponding Division and Continuation application Ser. Nos. 07/458,596 and 07/619,665, filed Dec. 26, 1989 and Nov. 28, 1990 respectively, and assigned to the assignee of the subject application, SUN Microsystems, Inc.
For further description of specific implementations of graphical user interfaces, for example, OPEN WINDOWS, by SUN Microsystems, Inc., or others by manufacturers such as International Business Machines, and Apple Computer, Inc., the reader is directed to technical literature provided by these companies.
Although a variety of graphical user interfaces have been developed by the computer industry, the various methods by which a user interfaces with the computer display system vary significantly between machines. However, most object oriented graphical user interfaces support a "drag and drop" operation for moving and copying objects. For example, a user may reorganize his file directory by moving a document into a folder, delete a file by moving a document into a wastebasket, or print a file by copying a document onto a printer. In each case, the user selects and moves or copies the document by pressing the select switch of a "mouse" while the cursor is on the document icon, "drags" the document icon to one of the corresponding folder, wastebasket or printer icons by holding down the select switch while repositioning the cursor, and then "drops" the document icon onto one of the corresponding icons by releasing the select switch.
In the print example illustrated above, copying (as opposed to moving) is "obvious" in view of the context, since most likely the user would want to retain the soft copy after making a hard copy. For other situations where copying versus moving are not as "obvious", many graphical user interfaces also support explicit copying in their "drag and drop" operation. For example, a user may wish to copy a block of data from one file to another, instead of moving the block of data. In this case, after identifying the block of data, the user selects the block of data for "dragging" by pressing the select switch as before. In addition, the user indicates he wants to copy instead of move by pressing a copy key on the keyboard. Then, the block of data is "dragged and dropped" onto the destination file by holding down and releasing the select switch as before. However, because the copy key was pressed earlier, after the block of data is inserted into the destination file, it is not deleted from the source file.
The traditional "drag and drop" operation for moving and copying objects has at least three limitations:
1) it may not be apparent to the user that the operation can be applied to a display window where there is no "obvious" place to drop; PA1 2) it may not be apparent to the user that the operation can be applied to a display window where there is no "obvious" object to drag; and PA1 3) it is often unclear whether the data being dropped should replace or be inserted into the current data.
It has been found that the functionality of the graphical interface of a computer system significantly impacts the efficiency and ease of use of the particular computer system. As will be described, the present invention provides an improved apparatus and method for a user to move or copy objects from one application to another. The present invention overcomes the disadvantages of the prior art, and provides significant improvements to the traditional "drag and drop" operation of direct manipulation graphical user interfaces.